Apparatus and method of user interaction

ABSTRACT

A method obtains multiple recorded instances of play through a virtual environment and generating the virtual environment through which progress may be made by a player. At a first elapsed time, a position of the player is determined within the virtual environment. At the first elapsed time, data indicating a position within the virtual environment is obtained, and a difference between the obtained position and the determined position of the player is calculated. If the difference exceeds a first threshold, the method searches for a second recorded instance of play meeting criteria where, at the first elapsed time, the data indicates a position within the environment whose difference from the determined position does not exceed a second threshold. If a second recorded instance of play meets the criteria, a graphical element is incorporated into the environment at the position obtained from the first elapsed time within the second recorded instance.

CROSS REFERENCE TO RELATED APPLICATIONS

The present application claims the benefit of and priority to GBApplication No. 1414296.2, filed Aug. 12, 2014, the entire disclosure ofwhich is incorporated by reference herein.

BACKGROUND OF THE INVENTION

Field of the Invention

The present invention relates to an apparatus and method of userinteraction.

Description of the Prior Art

The “background” description provided herein is for the purpose ofgenerally presenting the context of the disclosure. Work of thepresently named inventors, to the extent it is described in thisbackground section, as well as aspects of the description which may nototherwise qualify as prior art at the time of filing, are neitherexpressly or impliedly admitted as prior art against the presentinvention.

In conventional videogames, there are genres where it is known to useso-called ‘ghosts’, which are recordings of a user's previous attemptsat a challenge provided by the videogame, typically displayed as atranslucent representation of the player's avatar within the virtualenvironment of game. The user can then judge their own performanceagainst that of the ghost's during play.

The most common use of such a ghost is to record the user's current bestperformance within the videogame, thereby providing them with awell-matched challenge to improve upon this performance. However, whenthe user has difficulty replicating their best performance, this ghostcan become frustrating.

Consequently there is scope to provide a ghost function giving rise to abetter user experience.

The present invention seeks to alleviate or mitigate this need.

SUMMARY OF THE INVENTION

In a first aspect, a method of user interaction with an entertainmentdevice is provided in accordance with claim 1.

In another aspect, a method of selecting a plurality of recordedinstances of play at a server for interaction with a user at anentertainment device is provided in accordance with claim 8.

In another aspect, an entertainment device is provided in accordancewith claim 13.

In another aspect the server is provided in accordance with claim 15.

Further respective aspects and features of the invention are defined inthe appended claims.

It is to be understood that both the foregoing general summary of theinvention and the following detailed description are exemplary, but arenot restrictive, of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

A more complete appreciation of the disclosure and many of the attendantadvantages thereof will be readily obtained as the same becomes betterunderstood by reference to the following detailed description whenconsidered in connection with the accompanying drawings, wherein:

FIG. 1 is a schematic diagram of an entertainment device.

FIG. 2 is an illustration of a videogame image in accordance withembodiments of the present invention;

FIG. 3 is a schematic diagram of ghost recordings in accordance withembodiments of the present invention;

FIG. 4 is a flow diagram of a method of user interaction withentertainment device in accordance with embodiments of the presentinvention; and

FIG. 5 is a flow diagram of a method of selecting a plurality ofrecorded instances of play at a server for interaction with a user at anentertainment device in accordance with embodiments of the presentinvention.

DESCRIPTION OF THE EMBODIMENTS

An apparatus and method of user interaction are disclosed. In thefollowing description, a number of specific details are presented inorder to provide a thorough understanding of the embodiments of thepresent invention. It will be apparent, however, to a person skilled inthe art that these specific details need not be employed to practice thepresent invention. Conversely, specific details known to the personskilled in the art are omitted for the purposes of clarity whereappropriate.

Entertainment Device

FIG. 1 schematically illustrates the overall system architecture of theSony® Playstation 3® entertainment device, which is suitable as anentertainment device for generating the video images of a virtualenvironment that incorporate ghosts. However, it will be appreciatedthat other entertainment devices such as the PlayStation 4® or asuitably equipped personal computer could also be used for generatingthe video images of a virtual environment that are used by a headmounted display.

Referring to FIG. 1, a system unit 10 is provided, with variousperipheral devices connectable to the system unit.

The system unit 10 comprises: a Cell processor 100; a Rambus® dynamicrandom access memory (XDRAM) unit 500; a Reality Synthesiser graphicsunit 200 with a dedicated video random access memory (VRAM) unit 250;and an I/O bridge 700.

The system unit 10 also comprises a Blu Ray® Disk BD-ROM® optical diskreader 430 for reading from a disk 440 and a removable slot-in hard diskdrive (HDD) 400, accessible through the I/O bridge 700. Optionally thesystem unit also comprises a memory card reader 450 for reading compactflash memory cards, Memory Stick® memory cards and the like, which issimilarly accessible through the I/O bridge 700.

The I/O bridge 700 also connects to four Universal Serial Bus (USB) 2.0ports 710; a gigabit Ethernet port 720; an IEEE 802.11b/g wirelessnetwork (Wi-Fi) port 730; and a Bluetooth® wireless link port 740capable of supporting up to seven Bluetooth connections.

In operation the I/O bridge 700 handles all wireless, USB and Ethernetdata, including data from one or more game controllers 751. For examplewhen a user is playing a game, the I/O bridge 700 receives data from thegame controller 751 via a Bluetooth link and directs it to the Cellprocessor 100, which updates the current state of the game accordingly.

The wireless, USB and Ethernet ports also provide connectivity for otherperipheral devices in addition to game controllers 751, such as: aremote control 752; a keyboard 753; a mouse 754; a portableentertainment device 755 such as a Sony Playstation Portable®entertainment device; a video camera such as an EyeToy® video camera756; and a microphone headset 757. Such peripheral devices may thereforein principle be connected to the system unit 10 wirelessly; for examplethe portable entertainment device 755 may communicate via a Wi-Fi ad-hocconnection, whilst the microphone headset 757 may communicate via aBluetooth link.

The provision of these interfaces means that the Playstation 3 device isalso potentially compatible with other peripheral devices such asdigital video recorders (DVRs), set-top boxes, digital cameras, portablemedia players, Voice over IP telephones, mobile telephones, printers andscanners.

In addition, a legacy memory card reader 410 may be connected to thesystem unit via a USB port 710, enabling the reading of memory cards 420of the kind used by the Playstation® or Playstation 2® devices.

In the present embodiment, the game controller 751 is operable tocommunicate wirelessly with the system unit 10 via the Bluetooth link.However, the game controller 751 can instead be connected to a USB port,thereby also providing power by which to charge the battery of the gamecontroller 751. In addition to one or more analogue joysticks andconventional control buttons, the game controller is sensitive to motionin 6 degrees of freedom, corresponding to translation and rotation ineach axis. Consequently gestures and movements by the user of the gamecontroller may be translated as inputs to a game in addition to orinstead of conventional button or joystick commands. Optionally, otherwirelessly enabled peripheral devices such as the Playstation Portabledevice may be used as a controller. In the case of the PlaystationPortable device, additional game or control information (for example,control instructions or number of lives) may be provided on the screenof the device. Other alternative or supplementary control devices mayalso be used, such as a dance mat (not shown), a light gun (not shown),a steering wheel and pedals (not shown) or bespoke controllers, such asa single or several large buttons for a rapid-response quiz game (alsonot shown).

The remote control 752 is also operable to communicate wirelessly withthe system unit 10 via a Bluetooth link. The remote control 752comprises controls suitable for the operation of the Blu Ray Disk BD-ROMreader 430 and for the navigation of disk content.

The Blu Ray Disk BD-ROM reader 430 is operable to read CD-ROMscompatible with the Playstation and PlayStation 2 devices, in additionto conventional pre-recorded and recordable CDs, and so-called SuperAudio CDs. The reader 430 is also operable to read DVD-ROMs compatiblewith the Playstation 2 and PlayStation 3 devices, in addition toconventional pre-recorded and recordable DVDs. The reader 430 is furtheroperable to read BD-ROMs compatible with the Playstation 3 device, aswell as conventional pre-recorded and recordable Blu-Ray Disks.

The system unit 10 is operable to supply audio and video, eithergenerated or decoded by the Playstation 3 device via the RealitySynthesiser graphics unit 200, through audio and video connectors to adisplay and sound output device 300 such as a monitor or television sethaving a display 305 and one or more loudspeakers 310. The audioconnectors 210 may include conventional analogue and digital outputswhilst the video connectors 220 may variously include component video,S-video, composite video and one or more High Definition MultimediaInterface (HDMI) outputs. Consequently, video output may be in formatssuch as PAL or NTSC, or in 720p, 1080i or 1080p high definition.

Audio processing (generation, decoding and so on) is performed by theCell processor 100. The Playstation 3 device's operating system supportsDolby® 5.1 surround sound, Dolby® Theatre Surround (DTS), and thedecoding of 7.1 surround sound from Blu-Ray® disks.

In the present embodiment, the video camera 756 comprises a singlecharge coupled device (CCD), an LED indicator, and hardware-basedreal-time data compression and encoding apparatus so that compressedvideo data may be transmitted in an appropriate format such as anintra-image based MPEG (motion picture expert group) standard fordecoding by the system unit 10. The camera LED indicator is arranged toilluminate in response to appropriate control data from the system unit10, for example to signify adverse lighting conditions. Embodiments ofthe video camera 756 may variously connect to the system unit 10 via aUSB, Bluetooth or Wi-Fi communication port. Embodiments of the videocamera may include one or more associated microphones and also becapable of transmitting audio data. In embodiments of the video camera,the CCD may have a resolution suitable for high-definition videocapture. In use, images captured by the video camera may for example beincorporated within a game or interpreted as game control inputs.

In general, in order for successful data communication to occur with aperipheral device such as a video camera or remote control via one ofthe communication ports of the system unit 10, an appropriate piece ofsoftware such as a device driver should be provided. Device drivertechnology is well-known and will not be described in detail here,except to say that the skilled man will be aware that a device driver orsimilar software interface may be required in the present embodimentdescribed.

The software supplied at manufacture comprises system firmware and thePlaystation 3 device's operating system (OS). In operation, the OSprovides a user interface enabling a user to select from a variety offunctions, including playing a game, listening to music, viewingphotographs, or viewing a video. The interface takes the form of aso-called cross media-bar (XMB), with categories of function arrangedhorizontally. The user navigates by moving through the function icons(representing the functions) horizontally using the game controller 751,remote control 752 or other suitable control device so as to highlight adesired function icon, at which point options pertaining to thatfunction appear as a vertically scrollable list of option icons centredon that function icon, which may be navigated in analogous fashion.However, if a game, audio or movie disk 440 is inserted into the BD-ROMoptical disk reader 430, the Playstation 3 device may select appropriateoptions automatically (for example, by commencing the game), or mayprovide relevant options (for example, to select between playing anaudio disk or compressing its content to the HDD 400).

In addition, the OS provides an on-line capability, including a webbrowser, an interface with an on-line store from which additional gamecontent, demonstration games (demos) and other media may be downloaded,and a friends management capability, providing on-line communicationwith other Playstation 3 device users nominated by the user of thecurrent device; for example, by text, audio or video depending on theperipheral devices available. The on-line capability also provides foron-line communication, content download and content purchase during playof a suitably configured game, and for updating the firmware and OS ofthe Playstation 3 device itself. It will be appreciated that the term“on-line” does not imply the physical presence of wires, as the term canalso apply to wireless connections of various types.

Display of a Virtual Environment

Referring now to FIG. 2, in an embodiment of the present invention theentertainment device generates a virtual environment and renders it fordisplay to a user. In the example shown in FIG. 2 the user is playing‘VR Luge’, a game in which they attempt to steer themselves down amountainous track at increasing speeds whilst avoiding various hazards.It will be appreciated that this game is a non-limiting example.

The entertainment device can render a game as a conventional 2D imagefor use with a television. Typically in these circumstances the user cancontrol the game with a conventional handheld controller such as a SonySIXAXIS® controller, or a motion controller such as the Sony Move®controller. Optionally control may be achieved by voice commands througha microphone or physical gestures through a camera.

Alternatively or in addition to a conventional 2D image, theentertainment device can render a game as a stereoscopic pair of images(1110R,L) for output to a head-mounted display as shown in FIG. 2. Thestereoscopic pair of images may be pre-warped (as shown) by theentertainment device's graphics unit 200 to account for known opticaldistortions of the displayed image that are observed when wearing thehead-mounted display. In this case, the user perceives this stereoscopicpair of images as a single game image and in practice would experienceimmersive depth while viewing the perceived single image. Whilst inthese circumstances the user may still operate conventional controllers,they may for example steer themselves by moving their head to the leftor the right; hence in the example VR Luge game this can be used tosignify the shift of weight used when steering a real luge board.

In the illustrated example, the user is represented by an avatar (1130)which is viewed in-game from the position of the avatar's head. Howeverit is envisaged that the user could be represented in any suitable way,or in the case of a so-called first person shooter may not berepresented in the displayed image at all.

Ghost Recordings

In an embodiment of the present invention, as a user navigates theenvironment during play, a recording of a different instance of play isaccessed and used to display a ghost player within the environment thatreplicates the different instance of play in the recording. Suchrecordings may be referred to as ‘ghost recordings’.

The ghost player is typically represented on-screen as a ghost of asecond avatar (1150) that may be similar to the user's avatar or mayrepresent a different, competitor avatar. In the illustrated example ofFIG. 2 the ghost is represented as a series of glowing outlines.Typically the ghost will be semi-transparent so that it does not occludegoals and/or hazards from the user. The specific appearance of the ghostcan be a matter for the designer of the game.

At the start of the challenge, the user and the ghost begin at the sameposition (optionally the ghost's position may be laterally offset toinitially appear next to the user, with the applied offset being reducedas a function of distance over a first predetermined portion of thechallenge).

Once the challenge starts, the user begins their play of the game and atthe same time the state of the ghost within the game environment isupdated according to the ghost recording.

To provide the required state information, the ghost recording maycomprise <x_(t),y_(t)> coordinates indicating the position of the ghostat successive moments t, for example at intervals equivalent to thedisplayed frame rate. In the case of a challenge that follows apredetermined path, the coordinates can be simplified to a positiony_(t) along the path together with a lateral (or other salient) offsetx_(t) relative to the centreline of the path, and optionally also anindication of the avatar's orientation/rotation r_(t) either withrespect to a fixed frame of reference or with respect to the centrelineof the path at the indicated position. It will be appreciated that suchvalues could be efficiently recorded as incremental vectors, althoughany suitable recording scheme may be considered.

Similarly any other desired state of the avatar (for example a damagestatus used to modify the appearance of the ghost) can be included inthe ghost recording.

Where in order to reduce the data size of the ghost recording therecording intervals are less frequent than the rendered frame rateinterval, the position and orientation of the rendered ghost can beinterpolated for a rendering between intervals from the available data.

It will be appreciated that the apparent speed of the ghost is thereforegenerated by its change of position with respect to the successiverecording intervals. However a ghost recording may also periodicallyinclude explicit speed data s_(t), either at each interval or at a lowerperiodicity.

In this way a ghost player can be provided as a competitor for the realplayer during their attempt at the challenge.

Adaptive Ghost Selection

Conventionally the ghost recording used in such a challenge is oneassociated with the best time previously achieved by the player of thegame. However as noted above, sometimes this recording will not bewell-matched with the current performance of the player, resulting infrustration either because the ghost is left behind and no longerprovides a visible challenge, or because the ghost pulls so far ahead ofthe player that it is lost from view and no longer provides a visiblechallenge.

Turning now to FIG. 3, accordingly in an embodiment of the presentinvention a plurality of ghost recordings (1110-5, 1120-3) are stored ina memory (400, 500) of the entertainment device in association with agiven challenge within a game (for example in association with aparticular race course (1201, 1202), or between two particular waypointsor branch points on a branching path, or the like).

As will be discussed in detail later herein, these ghost recordings maybe obtained by recording a plurality of plays of the challenge on theentertainment device, or may be pre-recorded and provided with the game,or may be obtained from an online server based on one or more filtercriteria discussed later, or may be a combination of any or all ofthese.

In any event, it can be assumed that the ghost recordings span a rangeof degrees of skill when playing the challenge, and also represent arange of completion times for the challenge.

Consequently for a given position within a challenge there will berecordings of ghosts travelling at different speeds, and for a givenelapsed time after the start of the challenge there will be recordingsof ghosts at different positions.

In a first play of a particular challenge by a user, an arbitrary firstghost recording may be selected to provide an on-screen ghost.Optionally the first ghost recording having a completion time closest toan average completion time among the available recordings may beselected to provide an assumed reasonable match with the player, whoskill is initially unknown. However such a selection may be modified inresponse to difficulty setting of the game chosen by the player; forexample in an easy mode the ghost recording having a completion timeclosest to the bottom 25^(th) percentile point may be chosen, whilst ina difficult mode the ghost recording and a completion time closest tothe top 25^(th) percentile point may be chosen. The specific difficultysettings and associated percentiles can be selected at the discretion ofa designer of the game.

Potentially the selected first ghost recording may provide a wellmatched and entertaining competitor ghost for the player. However asnoted above it is possible that the first ghost may either race ahead ofthe player or fall behind them to an extent that it no longer provideswell matched competition.

In the first case, in which the first ghost races ahead of the player,in an embodiment of the present invention if the first ghost exceeds apredetermined threshold distance ahead of the player (for example 50 mahead of the player has measured within the virtual environment), then asecond ghost recording is selected containing a second ghost whoseposition at the current elapsed time is behind the player, within apredetermined distance (for example 10 m), but whose speed at thecurrent elapsed time is greater than that of the player.

This pair of selection criteria for the second ghost (currently closebehind the player, but faster) provides for a replacement orsupplementary second ghost that can be introduced to the environmentbehind the player, thereby not creating an initial distraction withtheir appearance, but which is likely to overtake the player soon afterbeing introduced. Moreover, the selection criteria identify a secondghost recording in which the instance of play is of comparable skill tothe current player but being played slightly differently, therebyproviding a better matched competitor for the player than the firstghost currently racing ahead of them.

Once a new ghost has been added to the game, the first ghost can beremoved (either immediately or using a fading transition), or can beallowed to continue until it reaches a second threshold distance aheadof the player, at which point it can be removed (again eitherimmediately or using a fading transition). Alternatively or in additionthe first ghost can be removed when it is next occluded by an element ofthe environment (for example if it turns a corner and disappears behinda hill).

In the second case in which the first ghost falls behind the player,then in an embodiment of the present invention if first ghost exceeds apredetermined threshold distance behind the player (for example 10 m bythe player has measured within the virtual environment), then again asecond ghost recording is selected containing a second ghost whoseposition at the current elapsed time is behind the player, within apredetermined distance (for example 10 m), but whose speed at thecurrent elapsed time is greater than that of the player. Hence again thesame selection criteria can be used to provide a replacement orsupplementary second ghost to introduce behind the player but which islikely to appear in front of them soon after.

Alternatively or in addition, a second ghost recording is selectedcontaining a second ghost whose position at the current elapsed time isin front of the player up to a predetermined distance (for example 50m), but whose speed at the current elapsed time is less than that of theplayer. Hence in this case the selection criteria provide for areplacement or supplementary second ghost that can be introduced infront of the player at a distance that does not cause visual confusion(for example, the distance can be selected so that the second ghost isrendered at a predetermined relative size in relation to the overallimage), but whose speed will allow the player to begin catching up withthem.

Hence more generally in the event that a first ghost's relative distancewith respect to the player falls outside first predetermined thresholddistances, then a second ghost is selected who, at the currently elapsedtime, has a relative distance with respect to the player that is insidesecond predetermined threshold distances, and whose relative velocitywith respect to the player is towards the player (i.e. slower than theplayer if ahead, faster than the player if behind).

Typically the second predetermined threshold distances will be the sameas the first predetermined threshold distances or shorter.

It will be appreciated that where multiple ghost recordings could beused based on these criteria, then optionally a ghost recording can beselected in which the relative velocity with respect to the player isless than a predetermined threshold relative velocity (optionallydifferent depending on whether the ghost will be in front of or behindthe player when introduced). The predetermined threshold is selected tobe at a level that prevents the new ghost from being much faster or muchslower than the player, as this would rapidly create the same problem asthat caused by the first ghost.

It will be appreciated that occasionally no ghost recording fits thepreferred selection criteria described above. In this case secondary orfall-back selection criteria may be used.

In this case, a second ghost recording is selected containing a secondghost whose position at the current elapsed time is within thirdpredetermined threshold distances, but whose relative speed with respectto the player will not necessarily cause them to reduce their relativedistance with respect to the player (for example if the second ghost isin front, they may be at the same speed as the player or going faster,whilst the second ghost is behind they may be at the same speed as theplayer or going slower).

In this case the third predetermined boundaries may for example bebetween the position of the player and a short distance in front of theplayer (for example 10 m). In this case, where more than one ghostrecording meets the criteria, then the ghost recording whose relativespeed is smallest compared to the player (i.e. closest to being the sameas the player) is preferably selected.

Also in this case, because the second ghost may be introduced to theenvironment close in front of the player, then as with the beginning ofthe race if the second ghost has a similar lateral position to the thatof the player's avatar or viewpoint, then optionally the second ghostmay be laterally offset from the player when first introduced, with thelateral offset being reduced as a function of time and/or distance. Forexample, a lateral offset of 2 meters may be used, and this offset maybe reduced to 0 over the course of 50 m travel within the game, or overthe course of 10 seconds, depending for example on which approach ismost applicable to the particular type of challenge. Alternatively or inaddition, within a predetermined distance from the user's position thetransparency of the ghost may be increased as a function of proximity,so that it fades from view as it occupies more of the screen.

In the case that no second ghost recording meets the criterion offalling within the third predetermined boundaries, then the thirdpredetermined boundaries may be extended further in front of the player,and optionally behind the player optionally up to a predeterminedmaximum extent.

Finally, if no second ghost recording can be found to meet any of theabove criteria, then the entertainment device can wait a predeterminedperiod of time (for example five seconds) before again attemptingselection with the preferred criteria, and subsequently fall-backcriteria. Because the relative performance of each instance of playvaries throughout the duration of the challenge, a ghost recording thatpreviously did not meet any meet any of the above criteria maysubsequently do so later in the challenge.

Searching Ghost Recordings

It will be appreciated that in order to select a ghost recording thatmeets the preferred or fall-back criteria above, it is necessary to knowthe position (location) and speed of candidate ghosts at the currentelapsed time within a plurality of recordings.

Referring again to FIG. 3, in an embodiment of the present inventioneach race or challenge is associated with a plurality of ghostrecordings that may have respective IDs (1110-1115, 1120-1123). Eachghost recording in turn comprises state data for successive intervalsindicating a ghost position <x_(t),y_(t)> as discussed above andoptionally also an orientation r_(t), for example indicated by an anglebased on an absolute or relative frame of reference.

In principle the data can be structured so that state data for aparticular interval can be accessed across the plurality of recordingsin a race; for example each recording may have a given start address,and data for each interval can be made a fixed amount, and so the datafor a current interval for a given recording can be accessed atstart_address+(fixed amount×interval number).

The position y_(t) in each ghost recording at the current interval canbe compared with the current position of the player to determine whetherit meets preferred criteria, and for the subset of ghost recordings thatmeet the preferred criteria then the speed may be calculated byaccessing the state data for the preceding (or, being potentially morerepresentative for future play, the following) interval, and calculatingthe speed based upon the change of position within the time between thetwo intervals. Alternatively the speed s_(t) may be explicitly recordedto avoid the need for this calculation step. Potentially the speed maynot be recorded at every interval, in which case the speed valuerecorded nearest to the current interval may be used, or similarly aninterpolation between speed values on either side of the currentinterval.

In any event, the speeds for the subset of ghost recordings can becompared with the speed of the current player, and as described above aghost recording can be selected whose speed will cause the distancebetween it and the player to shrink.

It will be appreciated that potentially a large number of ghostrecordings may be associated with a single race, making the search moreprocessor intensive. Accordingly in an embodiment of the presentinvention races may be ordered according to completion time so thatneighbouring races in memory representative of roughly similar levels ofperformance.

Then, in the case where the current ghost pulls away beyond apredetermined threshold distance in front of the user, the search forthe second ghost can be limited to ghost recordings ranked below therecording of the current ghost, as on average these will be slower. Forexample, a first group of N recordings below the recording of thecurrent ghost may be evaluated; if none of these meet preferredcriteria, then the next group of N recordings below that, and so onuntil all ghost recordings below the current ghost recording havingevaluated, and if none meet the preferred criteria, the process can berepeated for the fall-back criteria.

Similarly, in the case where the player pulls away from the currentghost, the search for the second ghost can be limited ghost recordingsranked above the recording of the current ghost as ravages will befaster. Again a similar scheme in which groups of recordings aresuccessively evaluated first against a preferred criteria and thenagainst the fallback criteria may be employed.

It will be appreciated that the moment-by-moment ranking of ghostsduring a challenge may vary as different recordings will reflectdifferent strategies of play, and that ranking by overall completiontime is thus only a rough estimate of the instantaneous rank of ghostsat the moment the search is being performed. However, if instantaneousrankings are available or being computed anyway (for example to displaythe instantaneous rank of the ghost on-screen) then this instantaneousranking can be used in a similar manner to that described above toprioritise searches through ghost recordings.

Obtaining Ghost Recordings

It will be appreciated that as the number of ghost recordings increaseswith respect to a particular challenge, the probability of not finding aghost recording that satisfies the preferred criteria or the fall-backcriteria reduces. Consequently it is preferable to obtain a large numberof ghost recordings.

In the first instance, ghost recordings can be obtained from the playerthemselves. Typically this will automatically create a range ofdifferent recorded performances as the user improves. However it willalso be appreciated that the user is often likely to perform better thanany available ghost recording of their own play as their skill improves.

Accordingly in an embodiment of the present invention the gamedevelopers can include a range of ghost recordings at manufacture thatspan a broad range of player performance from relatively poor toextremely good. As a result the user is less likely to perform betterthan any ghost recording available to the entertainment device, enablingsmooth operation of the above techniques.

Alternatively or in addition, to provide a social aspect to the game,ghost recordings may be obtained from other players; either directly viapeer-to-peer connection, or via a server administering an onlinecomponent of the game.

For example ghost recordings may be obtained from other players of thegame who are on the current player's friends list, or from other playersof the game within a common region (whether the region is defined as alocal area network, or geographically at the scale of street, town,county, country, continent or globally), or from other players of thegame having a similar demographic profile such as age and/or gender, orany suitable combination of these factors.

It will be appreciated that as many people play the game, the totalnumber of ghost recordings that become available will be much largerthan that needed by any one entertainment device. The total number canbe reduced by applying one or more of the above factors as a filter toreduce the number of recordings obtained and increase the relevance ofthe players from whom recordings are obtained, but there may still be alarge number.

It will also be appreciated that the ghost recordings held by a servercan be ranked and ordered in a similar manner to that described above.

Therefore to further reduce the number of candidate ghost recordings tobe considered, optionally the player's recent performance can be used topredict their likely performance in future play (for example theiraverage completion time over the last N attempts may be used as anindicator of expected completion time). Based on this likelyperformance, a sampling of candidate ghost recordings can be madecentred upon the predicted performance (for example centred upon thepredicted completion time for the challenge), with a distribution ofsamples above and below the predicted performance based upon a Gaussiandistribution. Where the player has played the challenge a statisticallysignificant number of times, the player's variance in performance can beused to determine variance for the Gaussian distribution.

Hence for example if there are 1,000,000 ghost recordings for aparticular race, then the number of candidate ghost recordings for thecurrent player may be reduced to 10,000 by geographical or demographicselection. Then, based upon the player's average performance andvariability, 100 ghost recordings may be sampled from that 10,000 with asampling density that follows the determined Gaussian distribution. Itwill be appreciated that of these hundred, a certain percentage may beautomatically selected because they come from other players who are onthe current player's friends list and hence are likely to be people thecurrent player would like to compete against. It will be appreciatedthat the ghost recordings can include a player ID such as a username ofthe player whose performance has been recorded, and this player ID canbe displayed above the ghost so that the current player can see who theyare effectively competing against.

In this way a subset of ghost recordings can be obtained that provide agood number of recordings that are likely to be well matched to theplayer's expected performance whilst also providing recordings that willbe usable if the player's next performance is particularly good or bad.

In an embodiment of the present invention, the sampled subset of ghostrecordings is held by the server, and the entertainment device thencommunicates with the server to select a first and subsequently ifneeded a second or further ghost recording during play through thechallenge, in the manner described previously herein.

In this case, if a current ghost exceeds the first predetermineddistance thresholds, the entertainment device sends state data on thecurrent player to the server, and the server performs the selection of aghost recording according to the preferred or fall-back criteria in themanner described previously herein, and then sends state data on theselected ghost back to the entertainment device, either on aninstance-by-instance basis or as a complete ghost recording.

However, it will be appreciated that this relies upon a network linkwith low latency to provide the responsiveness needed in a racing gameor similar.

Accordingly in an embodiment of the present invention the sampled subsetof ghost recordings is downloaded as a background activity, for exampleas soon as a player selects a particular challenge to play. Then theentertainment device can implement the above ghost selection techniqueson a locally stored set of ghost recordings supplied by the server.Moreover, the sampled subset of ghost recordings can be downloaded in anorder corresponding to the determined Gaussian distribution, so thatrecordings close to the player's predicted performance are downloadedfirst, whilst recordings at greater variance to the player's predictedperformance are downloaded later. This means is if download speeds areslow, then recordings most likely to be relevant to the player'sperformance, particularly near the start of a challenge where there hasbeen insufficient time for a large variance in performance toaccumulate, are most likely to have been downloaded by the time thechallenge starts.

Obtaining and Selecting Ghosts for New Challenges

As noted previously ghost recordings may be obtained from previousattempts by the player themselves, but for new challenges suchrecordings will not exist, and also no player performance data for thechallenge is available.

Again, the developers of the game may provide a range of ghosts for thenew challenge, and this range of ghosts is available irrespective of theavailability of player performance data.

However, again alternatively or in addition ghosts may be obtained froma server. In this case it was previously proposed that a sampling ofghost recordings is obtained based upon the player's historicalperformance, but in this case none is available for the new challenge.

However, if the entertainment device or server has obtained historicalperformance for the player on an existing challenge, then the developersof the game may use empirical data to correlate how performance in theexisting challenge corresponds to performance in the new challenge, andthus generate a predicted performance for a challenge that the playerhas not previously attempted. A sampling of ghost recordings may then bemade accordingly, and a ghost recording whose overall performance bestmatches the predict performance can be selected as the initial ghost.The entertainment device may then proceed as described above duringplay.

Alternatively, an average initial performance obtained by the serverfrom a plurality of other players of the challenge may be used (forexample from players in a demographic and/or geographic subset similarto the player).

Summary

Referring now to FIG. 4, in a summary embodiment of the presentinvention a method of user interaction with an entertainment devicecomprises:

-   -   in a first step s410, obtaining a plurality of recorded        instances of play through a virtual environment (i.e. ghost        recordings as described herein);    -   in a second step s420, generating the virtual environment        through which progress may be made by a player (such as for        example the ‘VR Luge’ game described herein);    -   and at a first elapsed time (as a non-limiting example, at time        t=N),    -   in a third step s430, determining a position of the player        within the virtual environment;    -   in a fourth step s440, obtaining from a first recorded instance        of play (for example the record for the currently displayed        ghost), at the first elapsed time within the recording, data        indicating a position within the virtual environment;    -   in a fifth step s450, calculating a difference between the        position obtained from the first recorded instance of play and        the determined position of the player,    -   and if that difference exceeds first predetermined positive or        negative thresholds (e.g. too far in front, or too far behind),        then        -   in a sixth step s460 searching for a second recorded            instance of play (i.e. a substitute/supplementary ghost)            meeting criteria where, at the first elapsed time within the            recording, the data indicates a position within the virtual            environment whose difference from the determined position of            the player does not exceed second predetermined positive or            negative thresholds (e.g. not too far in front or behind),            and has a relative velocity with respect to the player that            is towards the player (e.g. slower if in front, or faster if            behind);        -   and if a second recorded instance of play is found that            meets the criteria, then            -   in a seventh step s470 incorporating a graphical element                into the virtual environment at the position obtained                from the first elapsed time within the second recorded                instance of play (i.e. add in the                substitute/supplementary ghost).

In an instance of this summary embodiment, if a plurality of recordedinstances of play are found that meet the criteria, then the method maycomprise selecting as the second recorded instance of play a recordedinstance of play in which the data at the first elapsed time indicates aposition within the virtual environment that is behind the player withrespect to the player's progress, and indicates a speed that is fasterthan that of the player with respect to the player's progress.

In instance of this summary embodiment, if a plurality of recordedinstances of play are found that meet the criteria, but none of theplurality of recorded instances comprises data at the first elapsed timeindicates a position within the virtual environment that is behind theplayer with respect to the player's progress and also indicates a speedthat is faster than that of the player with respect to the player'sprogress, then the method may comprise selecting as the second recordedinstance of play a recorded instance of play in which the data at thefirst elapsed time indicates a position within the virtual environmentthat is ahead of the player with respect to the player's progress, andindicates a speed that is slower than that of the player with respect tothe player's progress.

Hence it can be appreciated that in this summary embodiment preferenceis given to ghosts that are about to overtake the player rather thanthose that the player is catching up to. It will be appreciated thatwhere a plurality of ghosts are found that are about overtake theplayer, further preference can be given to that ghost whose relativespeed is slowest, (or within a predetermined speed range), so that whenthe new ghost becomes visible to the user, its speed with respect to theplayer appears to be well matched.

In instance of this summary embodiment, if no recorded instances of playare found that meet the criteria described in the above instances, thenthe method may comprise searching for a second recorded instance of playmeeting criteria where, at the first elapsed time within the recording,the data indicates a position within the virtual environment whosedifference from the determined position of the player does not exceedthird predetermined positive or negative thresholds. Hence in this casethe above relative velocity criteria are not used, and the tolerateddifference in position may be larger than in previous searches. It willbe appreciated that this search may still set a tolerated difference inposition that is smaller than the threshold difference in position ofthe first ghost that is used to trigger the search process, sinceotherwise the net effect will be to introduce a ghost that is furtheraway than the one it is replacing. Optionally, if a plurality of ghostsare found in this way then preferably the ghost in front of the playerwith the lowest speed (which will still be faster than the currentplayer, given that this ghost was not found using the previous searchcriteria) may be selected.

In an instance of this summary embodiment, the step of searching for asecond recorded instance of play may comprise obtaining position valuesfor a plurality of recorded instances of play at the first elapsed timewithin each respective recording, and calculating for which recordedinstances of play the difference between the respective obtainedposition values and the player's position within first predeterminedpositive or negative thresholds as appropriate; and for those recordedinstances of play where the difference is within the first predeterminedpositive or negative threshold, then obtain the current speed of theplayer, obtain speed values at the first elapsed time, and calculate therelative velocity between the current speed the player and the obtainedspeed values, and calculate for which recorded instances of play therelative velocity with respect to the player is towards the player; andfor those recorded instances of play where the relative velocity withrespect to the player is towards the player, select one recordedinstance of play to be the second recorded instance of play.

In this case, if there is a plurality of recorded instances of playwhere the relative velocity with respect to the player is towards theplayer, then the method may comprise selecting one of the plurality ofrecorded instances of play where the relative velocity is less than apredetermined threshold relative velocity. This helps to prevent theselection of ghosts that for example may rapidly overtake the user anddisappear into the distance, thereby placing the user in the samefrustrating position they were in before, and triggering yet anotherghost recording search.

In an instance of this summary embodiment, a plurality of recordedinstances of play are included in association with the virtualenvironment, and for a performance measure associated with a virtualenvironment, the plurality of recorded instances of play correspond to adistribution of performance measures across a predetermined range.

Referring now also to FIG. 5, in a summary embodiment of the presentinvention, a method of selecting a plurality of recorded instances ofplay at a server comprises:

-   -   in a first step s510, receiving from an entertainment device        average performance data for a player within a virtual        environment;    -   in a second step s520, selecting a subset of a plurality of        recorded instances of play through a virtual environment; and    -   in a fifth step s550, transmitting to the entertainment device        data corresponding to the subset of the plurality of recorded        instances;    -   wherein the step of selecting a subset of the plurality of        recorded instances of play to the virtual environment comprises:    -   in a first sub-step s530, calculating a ranking of the player        within an ordered list of recorded instances of play based upon        the average performance data; and    -   in a second sub-step s540, selecting a subset of recorded        instances of play according to a predetermined distribution        centred upon the calculated ranking.

In an instance of this summary embodiment, the step of selecting asubset of the plurality of recorded instances of play to the virtualenvironment may comprise filtering the plurality of recorded instancesaccording to one or more of the following:

-   -   i. the network proximity to the player of where a recorded        instance was recorded;    -   ii. the geographical proximity to the player of where a recorded        instance was recorded;    -   iii. a demographic parameter shared by the player and a person        whose performance is recorded in a recorded instance of play;        and    -   iv. whether the person whose performance is recorded in a        recorded instance of play is on the player's friends list.

In an instance of this summary embodiment in which the averageperformance data for the player corresponds to a first virtualenvironment, and the entertainment device requests a subset of aplurality recorded instances of play through a second virtualenvironment, the method may comprise obtaining a performance ranking inthe second virtual environment that has an established correlation witha performance ranking calculated for the player for the first virtualenvironment based upon the average performance data; and selecting asubset of recorded instances of play for the second virtual environmentaccording to a predetermined distribution centred upon the calculatedperformance ranking in the second virtual environment.

In instance of this summary embodiment, the step of transmitting to theentertainment device data corresponding to the subset of the pluralityof recorded instances may comprise placing the plurality of recordedinstances in a transmission order responsive to their proximity in rankto the calculated ranking of the player.

It will be appreciated that the above methods may be carried out onconventional hardware suitably adapted as applicable by softwareinstruction or by the inclusion or substitution of dedicated hardware.

Thus the required adaptation to existing parts of a conventionalequivalent device may be implemented in the form of a computer programproduct comprising processor implementable instructions stored on atangible non-transitory machine-readable medium such as a floppy disk,optical disk, hard disk, PROM, RAM, flash memory or any combination ofthese or other storage media, or realised in hardware as an ASIC(application specific integrated circuit) or an FPGA (field programmablegate array) or other configurable circuit suitable to use in adaptingthe conventional equivalent device. Separately, such a computer programmay be transmitted via data signals on a network such as an Ethernet, awireless network, the Internet, or any combination of these of othernetworks.

In a summary embodiment of the present invention, conventional hardwaresuitably adapted as applicable by software instruction comprises anentertainment device that in turn comprises memory means operable tostore a plurality of recorded instances of play through a virtualenvironment, and graphics processing means operable to generate thevirtual environment, through which progress may be made by a player; andat a first elapsed time, a position determination means is operable todetermine a position of the player within the virtual environment, adata retrieval means is operable to obtain from a first recordedinstance of play, at the first elapsed time within the recording, dataindicating a position within the virtual environment, and a calculatingmeans operable to calculate a difference between the position obtainedfrom the first recorded instance of play and the determined position ofthe player; and if that difference exceeds first predetermined positiveor negative thresholds, then a search means is operable to search for asecond recorded instance of play meeting criteria where, at the firstelapsed time within the recording, the data indicates a position withinthe virtual environment whose difference from the determined position ofthe player does not exceed second predetermined positive or negativethresholds, and has a relative velocity with respect to the player thatis towards the player; and if a second recorded instance of play isfound that meets the criteria, then the graphics processing means isoperable to incorporate a graphical element into the virtual environmentat the position obtained from the first elapsed time within the secondrecorded instance of play.

In an instance of this summary embodiment, if a plurality of recordedinstances of play are found that meet the criteria, then the searchmeans is operable to select as the second recorded instance of play arecorded instance of play in which the data at the first elapsed timeindicates a position within the virtual environment that is behind theplayer with respect to the player's progress, and indicates a speed thatis faster than that of the player with respect to the player's progress.

In a summary embodiment of the present invention, conventional hardwaresuitably adapted as applicable by software instruction comprises aserver that in turn comprises a receiver operable to receive from anentertainment device average performance data for a player within avirtual environment, a selection means (such as a CPU of the server)operable to select a subset of a plurality of recorded instances of playthrough a virtual environment, and a transmitter operable to transmitthe entertainment device data corresponding to the subset of theplurality of recorded instances; and in which the selection means isoperable to calculate a ranking of the player within an ordered list ofrecorded instances of play based upon the average performance data, andselect a subset of recorded instances of play according to apredetermined distribution centred upon the calculated ranking.

INDUSTRIAL APPLICABILITY

It will be appreciated that the above described techniques and apparatusprovide the ability to select suitable ghost avatars in response to thevariable performance of the user during the completion of a challenge,so as to provide entertaining and relevant visible competition duringplay.

However it will be understood that the techniques described herein areindependent of any scheme, rule or method of playing the game itself;for example the above techniques for substituting ghosts remain the samewhether or not the player races on land air or sea, or indeed has torace at all, or whether the player has to reach certain waypoints in achallenge within a particular time to proceed further, or is penalisedin any particular way for veering off course, or whether the player hasto collect certain items or avoid certain hazards, or how any of thesebehaviours are scored or affect the outcome of the game. Hence it willbe clear that the above described techniques themselves do notconstitute a scheme rule or method of playing a game as such.

The foregoing discussion discloses and describes merely exemplaryembodiments of the present invention. As will be understood by thoseskilled in the art, the present invention may be embodied in otherspecific forms without departing from the spirit or essentialcharacteristics thereof. Accordingly, the disclosure of the presentinvention is intended to be illustrative, but not limiting of the scopeof the invention, as well as other claims. The disclosure, including anyreadily discernible variants of the teachings herein, defines, in part,the scope of the foregoing claim terminology such that no inventivesubject matter is dedicated to the public.

The invention claimed is:
 1. A method of user interaction with anentertainment device, comprising the steps of: obtaining a plurality ofrecorded instances of play through a virtual environment; generating, byone or more processors, the virtual environment, through which progressmay be made by a player; and at a first elapsed time, determining aposition of the player within the virtual environment; obtaining from afirst recorded instance of play, at the first elapsed time within therecording, data indicating a position within the virtual environment;calculating, by the one or more processors, a difference between theposition obtained from the first recorded instance of play and thedetermined position of the player, and if the difference exceeds firstpredetermined positive or negative thresholds, then: searching for asecond recorded instance of play meeting criteria where, at the firstelapsed time within the recording, the data indicates a position withinthe virtual environment whose difference from the determined position ofthe player does not exceed second predetermined positive or negativethresholds, and has a relative velocity with respect to the player thatis towards the player; and if a second recorded instance of play isfound that meets the criteria, then: incorporating, by the one or moreprocessors, a graphical element into the virtual environment at theposition obtained from the first elapsed time within the second recordedinstance of play.
 2. The method of user interaction according to claim1, in which if a plurality of recorded instances of play are found thatmeet the criteria, then the method comprises the step of: selecting asthe second recorded instance of play a recorded instance of play inwhich the data at the first elapsed time indicates a position within thevirtual environment that is behind the player with respect to theplayer's progress, and indicates a speed that is faster than that of theplayer with respect to the player's progress.
 3. The method of userinteraction according to claim 1, in which if a plurality of recordedinstances of play are found that meet the criteria, but none of theplurality of recorded instances comprises data at the first elapsed timethat indicates a position within the virtual environment that is behindthe player with respect to the player's progress and also indicates aspeed that is faster than that of the player with respect to theplayer's progress, then the method comprises the step of: selecting asthe second recorded instance of play a recorded instance of play inwhich the data at the first elapsed time indicates a position within thevirtual environment that is ahead of the player with respect to theplayer's progress, and indicates a speed that is slower than that of theplayer with respect to the player's progress.
 4. The method of userinteraction according to claim 1, in which if no recorded instances ofplay are found that meet the criteria, then the method comprises thesteps of: searching for a second recorded instance of play meetingcriteria where, at the first elapsed time within the recording, the dataindicates a position within the virtual environment whose differencefrom the determined position of the player does not exceed thirdpredetermined positive or negative thresholds.
 5. The method of userinteraction according to claim 1, in which the step of searching for asecond recorded instance of play comprises the steps of: obtainingposition values for a plurality of recorded instances of play at thefirst elapsed time within each respective recording; calculating forwhich recorded instances of play the difference between the respectiveobtained position values and the player's position within firstpredetermined positive or negative thresholds as appropriate, and forthose recorded instances of play where the difference is within thefirst predetermined positive or negative threshold: obtaining a currentspeed of the player; obtaining speed values at the first elapsed time,and calculate the relative velocity between the current speed of theplayer and the obtained speed values; calculating for which recordedinstances of play the relative velocity with respect to the player istowards the player; and for those recorded instances of play where therelative velocity with respect to the player is towards the player,selecting one recorded instance of play to be the second recordedinstance of play.
 6. The method of user interaction according to claim5, in which if there is a plurality of recorded instances of play wherethe relative velocity with respect to the player is towards the player,then the method comprises the step of: selecting one of the plurality ofrecorded instances of play where the relative velocity is less than apredetermined threshold relative velocity.
 7. The method of userinteraction according to claim 1 in which the plurality of recordedinstances of play are included in association with the virtualenvironment, and for a performance measure associated with the virtualenvironment, the plurality of recorded instances of play correspond to adistribution of performance measures across a predetermined range.
 8. Amethod of selecting a plurality of recorded instances of play at aserver for interaction with a user at an entertainment device, themethod comprising the steps of: receiving from an entertainment deviceaverage performance data for a player within a virtual environment;selecting, by one or more processors, a subset of a plurality ofrecorded instances of play through the virtual environment; andtransmitting to the entertainment device data corresponding to thesubset of the plurality of recorded instances; wherein the step ofselecting a subset of the plurality of recorded instances of play to thevirtual environment comprises the steps of: calculating a ranking of theplayer within an ordered list of recorded instances of play based uponthe average performance data; and selecting a subset of recordedinstances of play according to a predetermined distribution centred uponthe calculated ranking.
 9. A method of selecting a plurality of recordedinstances of play according to claim 8, wherein the step of selecting asubset of the plurality of recorded instances of play to the virtualenvironment comprises the step of: filtering the plurality of recordedinstances according to one or more of the following: i. networkproximity to the player of where a recorded instance was recorded; ii.geographical proximity to the player of where a recorded instance wasrecorded; iii. a demographic parameter shared by the player and a personwhose performance is recorded in a recorded instance of play; and iv.whether the person whose performance is recorded in a recorded instanceof play is on a friends list of the player.
 10. A method of selecting aplurality of recorded instances of play according to claim 8, in whichthe average performance data for the player corresponds to a firstvirtual environment, and the entertainment device requests a subset of aplurality recorded instances of play through a second virtualenvironment, the method comprising the steps of: obtaining a performanceranking in the second virtual environment that has an establishedcorrelation with a performance ranking calculated for the player for thefirst virtual environment based upon the average performance data; andselecting a subset of recorded instances of play for the second virtualenvironment according to a predetermined distribution centred upon thecalculated performance ranking in the second virtual environment.
 11. Amethod of selecting a plurality of recorded instances of play accordingto claim 8, in which the step of transmitting to the entertainmentdevice data corresponding to the subset of the plurality of recordedinstances comprises a sub-step of: placing the plurality of recordedinstances in a transmission order responsive to their proximity in rankto the calculated ranking of the player.
 12. A non-transitory computerprogram product storing computer-readable instructions thereon, theinstructions, when executed by one or more processors, perform a methodof user interaction with an entertainment device, comprising: obtaininga plurality of recorded instances of play through a virtual environment;generating the virtual environment, through which progress may be madeby a player; and at a first elapsed time, determining a position of theplayer within the virtual environment; obtaining from a first recordedinstance of play, at the first elapsed time within the recording, dataindicating a position within the virtual environment; calculating adifference between the position obtained from the first recordedinstance of play and the determined position of the player, and if thedifference exceeds first predetermined positive or negative thresholds,then: searching for a second recorded instance of play meeting criteriawhere, at the first elapsed time within the recording, the dataindicates a position within the virtual environment whose differencefrom the determined position of the player does not exceed secondpredetermined positive or negative thresholds, and has a relativevelocity with respect to the player that is towards the player; and if asecond recorded instance of play is found that meets the criteria, then:incorporating a graphical element into the virtual environment at theposition obtained from the first elapsed time within the second recordedinstance of play.
 13. An entertainment device, comprising memory meansoperable to store a plurality of recorded instances of play through avirtual environment; graphics processing means operable to generate thevirtual environment, through which progress may be made by a player; andfor a first elapsed time, position determination means operable todetermine a position of the player within the virtual environment; dataretrieval means operable to obtain from a first recorded instance ofplay, at the first elapsed time within the recording, data indicating aposition within the virtual environment; calculating means operable tocalculate a difference between the position obtained from the firstrecorded instance of play and the determined position of the player, andif the difference exceeds first predetermined positive or negativethresholds, then search means operable to search for a second recordedinstance of play meeting criteria where, at the first elapsed timewithin the recording, the data indicates a position within the virtualenvironment whose difference from the determined position of the playerdoes not exceed second predetermined positive or negative thresholds,and has a relative velocity with respect to the player that is towardsthe player; and if a second recorded instance of play is found thatmeets the criteria, then the graphics processing means is operable toincorporate a graphical element into the virtual environment at theposition obtained from the first elapsed time within the second recordedinstance of play.
 14. An entertainment device according to claim 13, inwhich if the plurality of recorded instances of play are found that meetthe criteria, then the search means is operable to select as the secondrecorded instance of play a recorded instance of play in which the dataat the first elapsed time indicates a position within the virtualenvironment that is behind the player with respect to the player'sprogress, and indicates a speed that is faster than that of the playerwith respect to the player's progress.
 15. A server, comprising: areceiver operable to receive from an entertainment device averageperformance data for a player within a virtual environment; selectionmeans operable to select a subset of a plurality of recorded instancesof play through the virtual environment; and a transmitter operable totransmit the entertainment device data corresponding to the subset ofthe plurality of recorded instances; and in which the selection means isoperable to: calculate a ranking of the player within an ordered list ofrecorded instances of play based upon the average performance data; andselect a subset of recorded instances of play according to apredetermined distribution centred upon the calculated ranking.
 16. Anon-transitory computer program product storing computer-readableinstructions thereon, the instructions, when executed by one or moreprocessors, perform a method of selecting a plurality of recordedinstances of play at a server for interaction with a user at anentertainment device, the method comprising: receiving from anentertainment device average performance data for a player within avirtual environment; selecting a subset of a plurality of recordedinstances of play through the virtual environment; and transmitting tothe entertainment device data corresponding to the subset of theplurality of recorded instances; wherein the step of selecting a subsetof the plurality of recorded instances of play to the virtualenvironment comprises the steps of: calculating a ranking of the playerwithin an ordered list of recorded instances of play based upon theaverage performance data; and selecting a subset of recorded instancesof play according to a predetermined distribution centred upon thecalculated ranking.